package com.dxl.system.model;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <b> Note实体类
 * </b><br><br><i>Description</i> :
 * <br>Date: 2019-09-29    <br>Author : dxl
 */
public class Note implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 主键ID
    */
    @TableId(value="id", type= IdType.AUTO)
    private Integer id;

    /**
    * 笔记标题
    */
    @TableField("note_title")
    private String noteTitle;

    /**
    * html路径
    */
    @TableField("html_url")
    private String htmlUrl;

    /**
    * md路径
    */
    @TableField("md_url")
    private String mdUrl;

    /**
    * 组ID
    */
    @TableField("group_id")
    private Integer groupId;

    /**
    * 系列ID
    */
    @TableField(value = "series_id",strategy = FieldStrategy.IGNORED)
    private Integer seriesId;

    /**
     * 文件类型ID
     */
    @TableField("type_id")
    private Integer typeId;

    /**
     * 文件类型后缀
     */
    @TableField("type_suffix")
    private String typeSuffix;

    /**
    * 状态
    */
    @TableField("status")
    private Integer status;

    /**
    * 备注
    */
    @TableField("note")
    private String note;

    /**
    * 创建时间
    */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
    * 同级排序
    */
    @TableField("order_num")
    private Integer orderNum;

    /**
    * 逻辑删除
    */
    @TableField("is_del")
    private Integer isDel;

    /**
    * 乐观锁
    */
    @TableField("version")
    private Integer version;

    /**
     * 分组
     */
    @TableField(exist = false)
    private Groups groups;

    /**
     * 系列
     */
    @TableField(exist = false)
    private Series series;

    /**
     * 系列名
     */
    @TableField(exist = false)
    private String seriesName;

    /**
     * 标签笔记关联
     */
    @TableField(exist = false)
    private List<LabelNote> labelNoteList;

    /**
     * 标签
     */
    @TableField(exist = false)
    private List<Label> labelList;

    /**
     * 标签组合字符串
     */
    @TableField(exist = false)
    private String labelListStr;
    /**
     * 标签组合字符串
     */
    @TableField(exist = false)
    private List<String> htmlCssList;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
}

    public String getNoteTitle() {
        return noteTitle;
    }

    public void setNoteTitle(String noteTitle) {
        this.noteTitle = noteTitle;
}

    public String getHtmlUrl() {
        return htmlUrl;
    }

    public void setHtmlUrl(String htmlUrl) {
        this.htmlUrl = htmlUrl;
}

    public String getMdUrl() {
        return mdUrl;
    }

    public void setMdUrl(String mdUrl) {
        this.mdUrl = mdUrl;
}

    public Integer getGroupId() {
        return groupId;
    }

    public void setGroupId(Integer groupId) {
        this.groupId = groupId;
}

    public Integer getSeriesId() {
        return seriesId;
    }

    public void setSeriesId(Integer seriesId) {
        this.seriesId = seriesId;
}

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
}

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
}

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
}

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
}

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
}

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
}
    public List<LabelNote> getLabelNoteList() {
        return labelNoteList;
    }

    public void setLabelNoteList(List<LabelNote> labelNoteList) {
        this.labelNoteList = labelNoteList;
    }
    public List<Label> getLabelList() {
        return labelList;
    }

    public void setLabelList(List<Label> labelList) {
        this.labelList = labelList;
    }

    public String getLabelListStr() {
        return labelListStr;
    }

    public void setLabelListStr(String labelListStr) {
        this.labelListStr = labelListStr;
    }

    public Series getSeries() {
        return series;
    }

    public void setSeries(Series series) {
        this.series = series;
    }

    public String getSeriesName() {
        return seriesName;
    }

    public void setSeriesName(String seriesName) {
        this.seriesName = seriesName;
    }

    public Groups getGroups() {
        return groups;
    }

    public void setGroups(Groups groups) {
        this.groups = groups;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getTypeSuffix() {
        return typeSuffix;
    }

    public void setTypeSuffix(String typeSuffix) {
        this.typeSuffix = typeSuffix;
    }

    public List<String> getHtmlCssList() {
        return htmlCssList;
    }

    public void setHtmlCssList(List<String> htmlCssList) {
        this.htmlCssList = htmlCssList;
    }

    @Override
    public String toString() {
        return "Note{" +
        ", id=" + id +
        ", noteTitle=" + noteTitle +
        ", htmlUrl=" + htmlUrl +
        ", mdUrl=" + mdUrl +
        ", groupId=" + groupId +
        ", seriesId=" + seriesId +
        ", status=" + status +
        ", note=" + note +
        ", createTime=" + createTime +
        ", orderNum=" + orderNum +
        ", isDel=" + isDel +
        ", version=" + version +
        "}";
    }
}
